package util

import (
	"github.com/astaxie/beego/logs"

	"github.com/go-ini/ini"
)

var (
	Lg         *logs.BeeLogger
	configPath = "./config.ini"
	logConfig  = ""

	dbConfig = make(map[string]string)
)

func init() {
	// 初始化配置文件
	initConfig()
	//初始化日志
	initLog()

	// 遍历ini 中的配置文件
	for k, v := range dbConfig {
		Lg.Info("db config: k %s, v %s", k, v)
	}
}

/**
初始log
*/
func initLog() {

	logs.SetLogFuncCall(true)
	Lg = logs.NewLogger()
	_ = Lg.SetLogger(logs.AdapterFile, logConfig)
	_ = Lg.SetLogger(logs.AdapterConsole)
	Lg.Async(4)
}

/**
初始配置文件
*/
func initConfig() {

	load, err := ini.Load(configPath)
	if err != nil {
		panic("load config file error")
	}
	section, err := load.GetSection("log")
	if err != nil {
		panic("get log config file error")
	}
	key, err := section.GetKey("logConfig")
	logConfig = key.String()

	getSection, err := load.GetSection("db")
	if err != nil {
		panic("get log config file error")
	}
	dbConfig = getSection.KeysHash()

}
